package com.rayboo.example.design.pattern.state;

/**
 * 状态模式
 * http://c.biancheng.net/view/1388.html
 */
public class Main {

    public static void main(String[] args) {
        // 创建遥控对象时，发现电视正处于关机状态
        TvController controller = new TvController();

        // 电视开机之前，点击遥控的控制按钮都没有用
        controller.onNextChannel();
        controller.onTurnUp();

        System.out.println("点击电视上的电源按钮");
        controller.powerOn();
        controller.onNextChannel();
        controller.onPrevChannel();
        controller.onTurnUp();
        controller.onTurnDown();

        System.out.println("再次点击电视上的电源按钮");
        controller.powerOff();

        // 电视关机之后，点击遥控的控制按钮都没有用
        controller.onNextChannel();
        controller.onTurnUp();
        controller.onTurnDown();
    }
}
